﻿using System;
using System.Collections.Generic;

namespace QuantBox
{
    public enum DataRequestAction
    {
        DataRequest,
        InstrumentRequest,
        CancelRequest,
        RemoveRequest
    }

    public class DataRequestInfo
    {
        public string RequestId = null!;
        public DataRequestAction Action;
        public string? InstrumentId;
        public string? PriceFormat;
        public readonly List<string> RequestInstrumentTypes = new List<string>();
        public string? InstrumentType;
        public string? Exchange;
        public DateTime DateTime1;
        public DateTime DateTime2;
        public long? BarSize;
        public bool RealtimeDataRequest;
        public bool EnableCache;
        public string? DataCachePath;
        public object? AttachedData;
        public bool MainInstrumentOnly;
        public bool QueryRealtimeData;

        public DataRequestInfo()
        {
        }

        public DataRequestInfo(string requestId, DataRequestAction action)
        {
            RequestId = requestId;
            Action = action;
        }
    }
}